package com.chao.yyks.modular.ranking.mapper;

import com.alibaba.fastjson.JSONObject;
import com.chao.common.util.reaction.PageList;
import com.chao.yyks.modular.ranking.bean.EnRanking;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * 学生排名Mapper
 * chao
 * 2024-09-15
 */
@Repository
public interface EnRankingMapper {

	/**
	 * 新增学生排名
	 */
	int insertEnRanking(EnRanking enRanking);

	/**
	 * 修改学生排名
	 */
	int updateEnRanking(EnRanking enRanking);

	/**
	 * 修改学生学习天数
	 */
	int updateEnRankingDay(@Param("studentId") String studentId,@Param("loginDay") String loginDay);

	/**
	 * 查询学生排名详情
	 */
	EnRanking selectEnRankingByStudentId(String studentId);

	/**
	 * 查询学生大类平均分
	 */
	List<JSONObject> selectEnScoreAvg(@Param("studentId") String studentId);

	/**
	 * 查询学生已学单词数
	 */
	Integer selectEnWordBankNum(@Param("studentId") String studentId);

	/**
	 * 查询学生排名列表
	 */
	PageList<EnRanking> selectEnRankingByList(@Param("json") JSONObject json);

	/**
	 * 查询得分学生排名
	 */
	List<EnRanking> selectEnRankingScore(@Param("json") JSONObject json);

	/**
	 * 查询总得分学生排名
	 */
	List<EnRanking> selectEnRankingAllScore(@Param("json") JSONObject json);

	/**
	 * 查询听力时长学生排名
	 */
	List<EnRanking> selectEnRankingDuration(@Param("json") JSONObject json);

	/**
	 * 查询听力时长学生排名
	 */
	List<EnRanking> selectEnRankingType(@Param("json") JSONObject json);

	/**
	 * 查询学生学习次数
	 */
	List<JSONObject> selectEnTypeNum(@Param("studentId") String studentId);

}